﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Globalization;

namespace RecommendatioNetwork.View.ValidationRules
{

    class AddressNeighborsValidator : ValidationRule
    {


        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
           
            if (string.IsNullOrEmpty(value.ToString()))
                return new ValidationResult(false, "La stringa non può essere vuota");
            
            char[] separator = new char[] { '.', '.', '.' };
            string[] result = value.ToString().Split(separator);
            if (result.Count() != 4)
                return new ValidationResult(false, "La stringa non è un indirizzo IP valido");
            int[] ints;
            try
            {
                ints = result.Select(x => int.Parse(x)).ToArray();
            }
            catch (Exception) 
            { 
                return new ValidationResult(false, "La stringa non è un indirizzo IP valido"); 
            }
            foreach (int i in ints)
            {
                if (i < 0 || i > 255)
                    return new ValidationResult(false, "La stringa non è un indirizzo IP valido"); ;
            }    

                return ValidationResult.ValidResult;

        }

    }
}


